package com.zhonghan.recharge.service;

import java.util.List;

import com.zhonghan.common.bean.Result;
import com.zhonghan.recharge.pojo.ZhBusinessRecord;

public interface ZhBusinessRecordService {
	/**
	 * 获得ZhBusinessRecord数据的总行数
	 * 
	 * @return
	 */
	long getZhBusinessRecordRowCount();

	/**
	 * 获得ZhBusinessRecord数据集合
	 * 
	 * @return
	 */
	List<ZhBusinessRecord> selectZhBusinessRecord();

	/**
	 * 获得一个ZhBusinessRecord对象,以参数ZhBusinessRecord对象中不为空的属性作为条件进行查询
	 * 
	 * @param obj
	 * @return
	 */
	ZhBusinessRecord selectZhBusinessRecordByObj(ZhBusinessRecord obj);

	/**
	 * 通过ZhBusinessRecord的id获得ZhBusinessRecord对象
	 * 
	 * @param id
	 * @return
	 */
	ZhBusinessRecord selectZhBusinessRecordById(Integer id);

	/**
	 * 插入ZhBusinessRecord到数据库,包括null值
	 * 
	 * @param value
	 * @return
	 */
	int insertZhBusinessRecord(ZhBusinessRecord value);

	/**
	 * 插入ZhBusinessRecord中属性值不为null的数据到数据库
	 * 
	 * @param value
	 * @return
	 */
	int insertNonEmptyZhBusinessRecord(ZhBusinessRecord value);

	/**
	 * 批量插入ZhBusinessRecord到数据库
	 * 
	 * @param value
	 * @return
	 */
	int insertZhBusinessRecordByBatch(List<ZhBusinessRecord> value);

	/**
	 * 通过ZhBusinessRecord的id删除ZhBusinessRecord
	 * 
	 * @param id
	 * @return
	 */
	int deleteZhBusinessRecordById(Integer id);

	/**
	 * 通过ZhBusinessRecord的id更新ZhBusinessRecord中的数据,包括null值
	 * 
	 * @param enti
	 * @return
	 */
	int updateZhBusinessRecordById(ZhBusinessRecord enti);

	/**
	 * 通过ZhBusinessRecord的id更新ZhBusinessRecord中属性不为null的数据
	 * 
	 * @param enti
	 * @return
	 */
	int updateNonEmptyZhBusinessRecordById(ZhBusinessRecord enti);

	/**
	 * 查询充值余额纪录
	 * 
	 * @param businessId
	 *            user_id
	 * @return
	 */
	List<ZhBusinessRecord> selectZhBusinessRecordByUserId(Long id);
	/**
	 * 查询对应店铺的充值纪录
	 * @param id
	 * @param beginTime
	 * @param endTime
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	public Result selectZhBusinessRecordByTime(Long id, String beginTime, String endTime, Integer pageNum,
			Integer pageSize);
}